{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /root/anaconda3/envs/mytf/lib/python3.8/site-packages/tensorflow/python/compat/v2_compat.py:96: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "non-resource variables are not supported in the long term\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import tensorflow.compat.v1 as tf\n",
    "tf.disable_v2_behavior()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "learning_rate=0.01\n",
    "training_epochs=40\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "trX=np.linspace(-1,1,101)\n",
    "num_coeffs=6\n",
    "trY_coeffs=[1,2,3,4,5,6]\n",
    "trY=0\n",
    "for i in range(num_coeffs):\n",
    "    trY += trY_coeffs[i] * np.power(trX ,i)\n",
    "trY+=np.random.randn(*trX.shape)*1.5    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(trX,trY)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "X=tf.placeholder(tf.float32)\n",
    "Y=tf.placeholder(tf.float32)\n",
    "def model(X,Y):\n",
    "    terms=[]\n",
    "    for i in range(num_coeffs):\n",
    "        term=tf.multiply(w[i],tf.pow(X,i))\n",
    "        terms.append(term)\n",
    "    return tf.add_n(terms)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "w=tf.Variable([0.]*num_coeffs,name='parameters')\n",
    "y_model=model(X,w)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
